﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace Search
{
    public partial class frmSearch : UTLBASEFORM.MDICHILD
    {
        TSearch tSearch = new TSearch();
        DataTable dt = new DataTable();
        PrintBarcode.BUS.TStampAll tStamp = new PrintBarcode.BUS.TStampAll();
        public frmSearch()
        {
            InitializeComponent();
        }

        private void SearchProduct_Load(object sender, EventArgs e)
        {
            SetupMenuBar();
            panNV.Visible = false;
            panSP.Visible = true;
           
        }
        private void SetupMenuBar()
        {

            ShowBTN1("Tìm sản phẩm", null);
            ShowBTN2("Tìm nhân viên", null);
        }
        public override void btn1_Click(object sender, EventArgs e)
        {
            panNV.Visible = false;
            panSP.Visible = true;
        }
        public override void btn2_Click(object sender, EventArgs e)
        {
            panNV.Visible = true;
            panSP.Visible = false;
        }
        public void SearchEmplyee(string user) {
            int i=0;
            if (cmbFind.Text.Trim() == "Tên ĐN")
                i = 0;
            else i = 1;
            DataTable data = tSearch.SelectSearch(i,user);
            gvResult.DataSource = data;
        }
        private void buttonX1_Click(object sender, EventArgs e)
        {
            gvResult.Columns.Clear();
            SearchEmplyee(txtName.Text);
        }
        public void SearchPro(string barcode) {
            DataTable data = tSearch.SelectSearchProduct(barcode);
            gvResult.DataSource = data;
            dt = data;
        }
        private void buttonX2_Click(object sender, EventArgs e)
        {
            gvResult.Columns.Clear();
            SearchPro(txtName2.Text);
        }

        private void cmbFind_SelectedIndexChanged(object sender, EventArgs e)
        {
            buttonX1_Click(sender, e);
        }

        private void txtName_TextChanged(object sender, EventArgs e)
        {
            buttonX1_Click(sender, e);
        }

        private void txtName2_TextChanged(object sender, EventArgs e)
        {
            buttonX2_Click(sender, e);
        }

        private void cmdPrint_Click(object sender, EventArgs e)
        {
            if (dt.Rows.Count == 0 || dt == null)
                MessageBox.Show("Không có sản phẩm để in");
            else
            {
                string abc = arrBarcode();
                PrintBarcode.print_barcode_new prin = new PrintBarcode.print_barcode_new();
                prin.PrintStamp_arr(abc);
            }
          
        }

        protected string arrBarcode()
        {
            string arr = string.Empty;
            if (gvResult.RowCount > 0)
            {
                DataGridViewSelectedRowCollection row = gvResult.SelectedRows;

                for (int i = 0; i < row.Count; i++)
                {
                    DataGridViewRow r = row[i];
                    arr += r.Cells["Barcode"].Value.ToString().Trim()+",";                   
                }
                if (arr.EndsWith(","))
                {
                    arr = arr.Substring(0, arr.Length - 1);
                }
            }

            return arr; 
        }
        
        private void InTem(DataTable dtSource)
        {
            //try
            //{
            //    if (dtSource == null)
            //    {
            //        return;
            //    }
            //    //WaitForInfoPathToEnd();
            //    btapp = new BarTender.ApplicationClass();
            //    //BarTender.PrintSetup btPringSetup;
            //    //BarTender.Performance btPerformance;



            //    ///btPringSetup = btformat.PrintSetup;
            //    //btPerformance = btPringSetup.Performance;



            //    //Microsoft XPS Document Writer
            //    //Datamax E-4203

            //    for (int i = 0; i < dtSource.Rows.Count; i++)
            //    {
            //        btformat = btapp.Formats.Open(Application.StartupPath + "\\BarcodeTemplate.btw", false, "Datamax E-4203");
            //        btformat.SetNamedSubStringValue("barcode1", dtSource.Rows[i]["Barcode"].ToString().Trim());
            //        if (dtSource.Rows[i]["T11"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T11", dtSource.Rows[i]["T11"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T11", "  ");
            //        }
            //        if (dtSource.Rows[i]["T21"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T21", dtSource.Rows[i]["T21"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T21", "  ");
            //        }
            //        if (dtSource.Rows[i]["T31"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T31", dtSource.Rows[i]["T31"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T31", "  ");
            //        }
            //        if (dtSource.Rows[i]["T41"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T41", dtSource.Rows[i]["T41"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T41", "  ");
            //        }
            //        if (dtSource.Rows[i]["T51"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T51", dtSource.Rows[i]["T51"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T51", "  ");
            //        }
            //        if (dtSource.Rows[i]["T12"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T12", dtSource.Rows[i]["T12"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T12", "  ");
            //        }
            //        if (dtSource.Rows[i]["T22"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T22", dtSource.Rows[i]["T22"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T22", "  ");
            //        }
            //        if (dtSource.Rows[i]["T32"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T32", dtSource.Rows[i]["T32"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T32", " ");
            //        }
            //        if (dtSource.Rows[i]["T42"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T42", dtSource.Rows[i]["T42"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T42", "  ");
            //        }
            //        if (dtSource.Rows[i]["T52"].ToString().Trim() != string.Empty)
            //        {
            //            btformat.SetNamedSubStringValue("T52", dtSource.Rows[i]["T52"].ToString().Trim());
            //        }
            //        else
            //        {
            //            btformat.SetNamedSubStringValue("T52", "  ");
            //        }

            //        btformat.Print("barcode1", true, -1, out btMasgs);
            //        btformat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);

            //        tStamp.UpdateProduct(dtSource.Rows[i]["Barcode"].ToString().Trim(), 1);
            //    }
            //    Marshal.ReleaseComObject(btapp);
            //    UTLBASEFORM.CProcess.FindAndKillAllProcess("bartend");

            //}
            //catch (Exception ex)
            //{
            //    Marshal.ReleaseComObject(btapp);
            //    UTLBASEFORM.CProcess.FindAndKillAllProcess("bartend");
            //}
        }
    }
}